package LogicaFM;

public class Puntuacion { 
	
	private Fecha fecha;
	private boolean jugoMasVeinte;
	private boolean fueFigura;
	private int puntajeGeneral;
	private int golesConvertidos;
	private int golesRecibidos;
	private int golesEnContra;
	private int penalesConvertidos;
	private int penalesErrados;
	private int penalesAtajados;
	private boolean amarilla;
	private boolean roja;
	
	public Puntuacion(Fecha fechaPuntuacion){
		
		fecha = fechaPuntuacion;
		
	}

	public Puntuacion() {
		// TODO Auto-generated constructor stub
	}

	public Puntuacion(Fecha fechaActual, boolean b, boolean c, int i, int j,
			int k, int l, int m, int n, int o, boolean d, boolean e) {
		fecha=fechaActual;
		jugoMasVeinte=b;
		fueFigura=c;
		puntajeGeneral=i;
		golesConvertidos=j;
		golesRecibidos=k;
		golesEnContra=l;
		penalesConvertidos=m;
		penalesErrados=n;
		penalesAtajados=o;
		amarilla=d;
		roja=e;

	}

	public void setJugoMasVeinte(boolean jugoMasVeinte) {
		
		this.jugoMasVeinte = jugoMasVeinte;
		
	}

	public void setFueFigura(boolean fueFigura) {
		
		if(fueFigura)
			this.fueFigura = true;
		else
			this.fueFigura = false;
	}

	public void setPuntajeGeneral(int puntaje) {
		
		puntajeGeneral = puntaje;
		
	}

	public void setGolesConvertidos(int goles) {
		
		golesConvertidos = goles;
		
	}
	
	public void setGolesEnContra(int goles) {
		
		golesEnContra = goles;
		
	}
	
	public void setGolesRecibidos(int goles) {
		
		golesRecibidos = goles;
		
	}

	
	public void setPenalesConvertidos(int penales) {
		
		penalesConvertidos = penales;
		
	}
	
	public void setPenalesErrados(int penales) {
		
		penalesErrados = penales;
		
	}
	
	public void setPenalesAtajados(int penales) {
		
		penalesAtajados = penales;
		
	}

	public void setAmarilla(boolean amarilla) {
		
		this.amarilla = amarilla;
		
	}

	public void setRoja(boolean roja) {
		
		this.roja = roja;
		
	}

	public Fecha getFecha() {
		
		return fecha;
		
	}

	public int getPuntajeTotal(String puesto) {
		int puntajeTotal=puntajeGeneral;
		
		int valorGolPorPosicion=0;
		if(puesto=="ARQ")
			valorGolPorPosicion=8;
		
		if(puesto=="DEF")
			valorGolPorPosicion=6;
		
		if(puesto=="VOL")
			valorGolPorPosicion=5;
		
		if(puesto=="DEL")
			valorGolPorPosicion=4;
		
		if(fueFigura)
			puntajeTotal+=4;
		
		puntajeTotal+=golesConvertidos*valorGolPorPosicion;
		
		puntajeTotal+=penalesConvertidos*3;
		
		if(puesto=="DEF"&&golesRecibidos==0)
			puntajeTotal+=1;
		
		if(puesto=="ARQ"&&golesRecibidos==0)
			puntajeTotal+=2;
		else if (puesto=="ARQ"&&golesRecibidos!=0)
			puntajeTotal=puntajeTotal-golesRecibidos;
		
		if(puesto=="ARQ")
			puntajeTotal+=4*penalesAtajados;
		
		puntajeTotal=puntajeTotal-(golesEnContra*2);
		
		if(amarilla)
			puntajeTotal=puntajeTotal-2;
		
		if(roja)
			puntajeTotal=puntajeTotal-4;
		
		puntajeTotal=puntajeTotal-(penalesErrados*3);
		
		return puntajeTotal;
	}

	public int getGolesConvertidos() {

		return golesConvertidos;
		
	}

	public int getPenalesConvertidos() {

		return penalesConvertidos;
		
	}
	
	public int getPenalesErrados() {

		return penalesErrados;
		
	}
	
	public int getPenalesAtajados() {

		return penalesAtajados;
		
	}

	public int getGolesRecibidos() {
		
		return golesRecibidos;
		
	}

	public int getGolesEnContra() {
		
		return golesEnContra;
		
	}

	public boolean fueFigura() {

		return fueFigura;
	}
	
	public boolean getAmarilla(){
		
		return amarilla;
	}
	
	public boolean getRoja(){
		
		return roja;
	}
	
	public boolean jugoMasDeVeinte(){
		
		return jugoMasVeinte;
	}
	
	public int getPuntajeGeneral(){
		
		return puntajeGeneral;
	}
}	